priv->surface = gdk_surface_new_popup (display, gtk_widget_get_surface (priv->relative_to), priv->modal);
- gtk_widget_set_surface (widget, priv->surface);
gdk_surface_set_widget (priv->surface, widget);
g_signal_connect_swapped (priv->surface, "notify::state", G_CALLBACK (surface_state_changed), widget);
if (GTK_IS_NATIVE (widget))
{
- g_assert (priv->surface != NULL);
priv->surface = gtk_native_get_surface (GTK_NATIVE (widget));
g_object_ref (priv->surface);
}
return priv->baseline - margin.top - border.top - padding.top;
}
-/**
- * gtk_widget_set_surface:
- * @widget: a #GtkWidget
- * @surface: (transfer full): a #GdkSurface
- *
- * Sets a widget’s surface. This function should only be used in a
- * widget’s #GtkWidget::realize implementation. The %surface passed is
- * usually either new surface created with gdk_surface_new(), or the
- * surface of its parent widget as returned by
- * gtk_widget_get_parent_surface().
- *
- * Widgets must indicate whether they will create their own #GdkSurface
- * by calling gtk_widget_set_has_surface(). This is usually done in the
- * widget’s init() function.
- *
- * Note that this function does not add any reference to @surface.
- */
-void
-gtk_widget_set_surface (GtkWidget *widget,
- GdkSurface *surface)
-{
- GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
-
- g_return_if_fail (GTK_IS_WIDGET (widget));
- g_return_if_fail (surface == NULL || GDK_IS_SURFACE (surface));
-
- if (priv->surface != surface)
- {
- priv->surface = surface;
- }
-}
-
/**
* gtk_widget_get_surface:
* @widget: a #GtkWidget
}
priv->surface = surface;
-
- gtk_widget_set_surface (widget, surface);
gdk_surface_set_widget (surface, widget);
g_signal_connect_swapped (surface, "notify::state", G_CALLBACK (surface_state_changed), widget);